#include <cstdio>
#include <iostream>
#include <cstring>
#include <queue>
#include <algorithm>
#include <cmath>
using namespace std;
#define N 510
#define MV 5100
#define LL long long
int v[N];
LL c[MV], w[N];
int main()
{
	int T, n;
	LL B;
	scanf("%d", &T);
	while(T--)
	{
		scanf("%d%lld", &n, &B);
		int sum = 0;
		for(int i = 0;i < n;i++)
		{
			scanf("%lld%d", &w[i], &v[i]);
			sum += v[i];
		}
		for(int i = 0;i <= sum;i++)
			c[i] = (LL)1e17;
		c[0] = 0;
		// for(int i = 0;i <= sum;i++)
		// 	printf("%2d%c", i, " \n"[i==sum]);
		for(int i = 0;i < n;i++)
		{
			for(int j = sum;j >= v[i];j--)
				c[j] = min(c[j-v[i]]+w[i], c[j]);
			// for(int j = 0;j <= sum;j++)
			// {
			// 	if(c[j] == (LL)1e17)
			// 		printf("-1%c", " \n"[j==sum]);
			// 	else
			// 		printf("%2lld%c", c[j], " \n"[j==sum]);
			// }
		}
		for(int i = sum;i >= 0;i--)
			if(c[i] <= B)
			{
				printf("%d\n", i);
				break;
			}
	}
	return 0;
}
